1. Technical Field
The invention relates to the printing of electronic documents in a computer environment. More particularly, the invention relates to the organization, storage, and printing of variable and master data in a computer environment.
2. Description of the Prior Art
Variable data printing involves how master and variable data are sent to a printer or intermediate storage device, how the master data are stored on the printer or intermediate storage device, and how the master and the variable data are combined.
Referring to FIG. 1, a page of master data 101 contains tags or placeholders that are to be filled in with variable data. For example, the date tag 103 will be overlaid with the appropriate date information from a variable data page.
There are two approaches that are most commonly used for the printing of variable data. With respect to FIG. 2, the first approach is shown. The client 201 sends two jobs to the printer 202. The first job contains the master data 203 and the second job contains the variable data 205. A detection mechanism 204 resides on the printer.
The detection mechanism 204 checks each incoming job to see if it is a master. If it is a master, then it is stored and indexed on the disk 206. The variable job 205 is checked to see if has a reference to a master. If it does, then the master is retrieved from the disk 206. Both the variable and master data are then combined and printed. If the variable job 205 does not reference a master then only the variable data is printed.
U.S. Pat. No. 5,740,338 issued to Gauthier et al. on Apr. 14, 1998, describes a method for merging variable image data into a template image. The variable image data bitmap is merged with the template image bitmap by producing merged image data bands. Said bands are then dispatched to the print engine.
Referring to FIG. 3, the disk on the printer 301 contains the master data images 302. Each master is indexed. When a variable job comes into the printer and refers to a master 305, the master is retrieved from the disk 301 and placed into the page buffer memory 303. The variable data are superimposed on the master data 304 and then sent to the printer engine 306. The master page remains in memory 304 while each variable page of the job is overlaid onto the master page 304 and printed 306.
Variable data in the job are overlaid onto the master sequentially when there are multiple pages in the master data. For example, with respect to FIG. 4, if a master consists of two pages, and the variable print job 401 contains four pages, then variable pages one 402, and two 403 are first overlaid onto master pages one and two, respectively, and printed. Variable pages three 404 and four 405 are then overlaid onto master pages one and two, respectively, and printed. The sequential pages are assumed to belong to the respective master pages.
This approach requires a storage medium to store the masters. A separate job must be sent from the client to the printer to install the master on the disk. Masters reside on the disk in the printer indefinitely because their placement and indices are not known to the client (in cases where there is no bi-directional communication between the client and the printer). And, therefore, the client is unable to delete the master that it previously installed. The amount of space allocated to master storage can fill up to the point where jobs are rejected because of the lack of disk space.
In cases where there is bi-directional communication, features have to be added with security levels to aid periodically cleaning up of the disk. Another drawback to this approach is that it is difficult to use multiple master pages. Variable pages are assumed to belong to a particular set of master pages. This does not allow for a change of master data during a job. The variable job must be split into several smaller jobs to use multiple masters. Additionally, separate jobs must be sent to the printer for each master.
Referring to FIG. 5, in the second approach, the client 501 sends the print jobs to an intermediate server 502. The intermediate server 502 controls the data flow to the printer 503. The intermediate server 502 stores the master data, combines the master and variable data, then sends the combined data to the printer.
This type of approach is described in EPO Patent Application No. 0858041A2 of Warmus et al., which describes a method for reproducing master and variable information on a display device. A database is developed having a number of entries representing variable printed information with the display device responsive to sets of template data and the database.
It would be advantageous to provide a variable data print job system that eliminates the need for a separate job containing the master data to be sent to the printer and also simplifies the use of multiple masters. It would further be advantageous to provide a variable data print job system that does not require the indefinite storage of master data on the printer disk.